const express = require('express');
const path = require('path')
// 创建路由
const route = express.Router()
//引入广告集合
const advModel = require('../db/model/advModel')
//引入正则校验中间件
const addAdminReg = require('../middleware/addAdminReg');
const isLoginMiddle = require('../middleware/isLoginMiddle');
const formidable = require('formidable')
// 创建post请求的路由，用来接受添加管理员的相关信息
//广告添加请求
route.post("/addAdv",isLoginMiddle,async (req, res) => {
    //formidable.IncomingForm方法实例化的对象可以解析formData格式的数据，实例化的时候可以传入一些配置
    const form = new formidable.IncomingForm({
        //传入文件夹
        uploadDir: path.resolve(__dirname, "../upload"),
        //是否保持后缀名
        keepExtensions: true
    })
    //使用form上的parse方法可以解析传入的FormData数据
    form.parse(req, async (err, params, file) => {
        //params参数保存着表单传入的数据,结构取值
        const {
            advTitle,
            advType,
            advOrder
        } = params
        try {
            // 向数据库添加广告内容
            await advModel.create({
                //广告标题
                advTitle,
                //广告属性
                advType,
                //广告排序
                advOrder,
                //广告地址与文件名
                advHref: "/upload/" + file.advPic.newFilename,
                //添加时间
                addTime: new Date().toLocaleString()
            })
            // console.log(file.advPic.newFilename);
            //添加成功响应
            res.send({
                code: 10000,
                msg: "添加广告成功",
                data: null
            })
        } catch (e) {
            //添加失败响应
            console.log("添加广告数据库出现异常" + e.message);
            res.send({
                code: 10001,
                msg: "添加广告数据库出现异常" + e.message,
                data: null
            })
        }
    })
})
module.exports = route;